﻿using System;

namespace CoopSaude.Dao
{
    public class InfoSessaoDAO
    {
        private static InfoSessaoFisioterapia.ServiceInfoSessao ws;

        /*implementação do singleton*/
        public static InfoSessaoFisioterapia.ServiceInfoSessao Websservice
        {
            get
            {
                if (ws == null)
                {
                    try
                    {
                        ws = new InfoSessaoFisioterapia.ServiceInfoSessao();
                    }
                    catch (Exception e)
                    {
                        throw e;
                    }
                }
                return ws;
            }
        }

        /*reseta objeto*/
        public static void ResetWS()
        {
            ws = null;
        }

        public static InfoSessaoFisioterapia.SerializedInfoSessao[] ListarSessoes(string idFisioterapeuta, string idPaciente)
        {
            try
            {
                return Websservice.VisualizarInfoSessoes(idFisioterapeuta, idPaciente);
            }
            catch (Exception e)
            {
                ResetWS();
                throw e;
            }
        }

        public static InfoSessaoFisioterapia.SerializedInfoSessao AdicionarSessao(string idFisioterapeuta, string idPaciente, string descricao)
        {
            try
            {
                return Websservice.CadastrarInfoSessao(idFisioterapeuta, idPaciente, descricao);
            }
            catch (Exception e)
            {
                ResetWS();
                throw e;
            }
        }

        public static InfoSessaoFisioterapia.SerializedInfoSessao VisualizarSessao(int idSessao)
        {
            try
            {
                return Websservice.VisualizarInfoSessao(idSessao);
            }
            catch (Exception e)
            {
                ResetWS();
                throw e;
            }
        }
    }
}